System and method for indicating an annotation for a document

ABSTRACT

Embodiments provide a system, method, apparatus, means, and computer program code that allow multiple annotations to a document to be created and that distinguish between the annotations made by different people. The people may view documents, exchange ideas and messages, etc. via a server or conference/collaboration system at different times and/or without being in direct communication with each other. In such an off-line collaboration mode, the people may want to add listen to, view, or add annotations regarding one or more documents. The methods and systems described herein allow users to follow the trail of annotations regarding a document and to distinguish between the voice or other audible annotations created by other people.

FIELD OF THE INVENTION

[0001] The present invention relates to telecommunications systems and, in particular, to an improved system and method for indicating an annotation for a document.

BACKGROUND

[0002] The development of various voice over IP protocols such as the H.323 Recommendation and the Session Initiation Protocol (SIP) has led to increased interest in multimedia conferencing. In such conferencing, typically, a more or less central server or other device manages the conference and maintains the various communications paths to computers or other client devices being used by parties to participate in the conference. Parties to the conference may be able to communicate via voice and/or video through the server and their client devices.

[0003] Instant messaging can provide an added dimension to multimedia conferences. In addition to allowing text chatting, instant messaging systems such as the Microsoft Windows Messenger™ system can allow for transfer of files, document sharing and collaboration, collaborative whiteboarding, and even voice and video. A complete multimedia conference can involve multiple voice and video streams, the transfer of many files, and much marking-up of documents and white boarding.

[0004] Participants in the multimedia conference or collaboration effort as well as other users may want to provide a voice, text, graphical, or other type of annotation regarding a document used in the conference or collaboration, their thoughts regarding the conference or collaboration effort, etc. The annotation may be provided back to other participants in the conference or collaboration effort for further review. As such, there is a need for a system and method for allowing multiple annotations to co-exist while distinguishing between the annotations made by different participants or other users.

SUMMARY

[0005] Embodiments provide a system, method, apparatus, means, and computer program code for allowing multiple annotations for documents used in a conference or collaboration session to co-exist and for distinguishing between the annotations made by different participants in the conference or collaboration and/or other users. As part of a collaborative effort, people may view documents, exchange ideas and messages, etc. via a server or conference/collaboration system at different times and/or without being in direct communication with each other. In such an off-line collaboration mode, the people may want to add listen to, view, or add annotations regarding one or more documents. The systems, methods, apparatus, means, and computer program code described herein allow users to follow the trail of annotations regarding a document and to distinguish between the voice or other audible annotations created by other people.

[0006] Additional objects, advantages, and novel features of the invention shall be set forth in part in the description that follows, and in part will become apparent to those skilled in the art upon examination of the following or may be learned by the practice of the invention.

[0007] In some embodiments, a method for associating an annotation with a document may include associating an audible annotation with a document; associating a person with the audible annotation; establishing an identifier associated with the person; providing data indicative of the annotation; and providing data indicative of the identifier. In some other embodiments, a method for associating an annotation with a document may include associating a plurality of people with a document; associating a different identifier to each of the plurality of people; associating an audible annotation made by a first of the plurality of people to the document; and associating the first of the plurality of people's respective identifier to the document. In some embodiments, either of both of the methods may include receiving a request for a document or annotation, providing a document or annotation, receiving data indicative of a document or annotation, storing or displaying a document or annotation, and/or associating distinct icons or other identifiers with one or more people associated with a document, who have access to the document, or are allowed to record or provide an annotation for a document.

[0008] Other embodiments may include means, systems, computer code, etc. for implementing some or all of the elements of the methods described herein.

[0009] With these and other advantages and features of the invention that will become hereinafter apparent, the nature of the invention may be more clearly understood by reference to the following detailed description of the invention, the appended claims and to the several drawings attached herein.

BRIEF DESCRIPTION OF THE DRAWINGS

[0010] The accompanying drawings, which are incorporated in and form a part of the specification, illustrate the embodiments, and together with the descriptions serve to explain the principles of the invention.

[0011]FIG. 1 is a diagram of a conference system according to some embodiments;

[0012]FIG. 2 is a diagram illustrating a conference collaboration system according to some embodiments;

[0013]FIG. 3 is another diagram illustrating a conference collaboration system according to some embodiments;

[0014]FIG. 4 is a diagram illustrating a graphical user interface according to some embodiments;

[0015]FIG. 5 is a diagram illustrating another graphical user interface according to some embodiments;

[0016]FIG. 6 is a diagram illustrating another graphical user interface according to some embodiments;

[0017]FIG. 7 is a diagram illustrating another graphical user interface according to some embodiments;

[0018]FIG. 8 is a diagram illustrating another graphical user interface according to some embodiments;

[0019]FIG. 9 is a diagram illustrating another graphical user interface according to some embodiments;

[0020]FIG. 10 is a diagram illustrating another graphical user interface according to some embodiments;

[0021]FIG. 11 is a diagram illustrating another graphical user interface according to some embodiments;

[0022]FIG. 12 is a flowchart of a method in accordance with some embodiments;

[0023]FIG. 13 is another flowchart of a method in accordance with some embodiments; and

[0024]FIG. 14 is a block diagram of possible components that may be used in some embodiments of the server of FIG. 1.

DETAILED DESCRIPTION

[0025] Applicant has recognized that there is a market opportunity for systems, means, computer code, and methods that allow multiple annotations for a document to co-exist and that distinguishes between the annotations made by different participants in a collaborative effort regarding or involving the document.

[0026] During a conference or collaborative effort/session, different participants may be in communication with a server or conference system via client devices (e.g., computers, telephones). The server or conference system may facilitate communication between the participants, sharing or accessing of documents, etc. The conference may be part of a collaborative effort involving the participants. In some situations, one or more of the participants may communicate in an off-line collaboration mode, wherein the participants view documents, exchange ideas and messages, etc. via the server or conference system at different times and/or without being in direct communication with each other. In such an off-line collaboration mode, the participants or other users may want to add listen to, view, or add voice or other audible annotations regarding the conference or collaborative effort. For example, a participant may want to record or otherwise add an annotation to a document being shared or prepared as part of the collaborative effort. As another example, a participant may want to listen to one or more voice annotations regarding the document previously made by other participants. The methods and systems described herein allow, for example, users to follow the trail of voice annotations regarding a document and to distinguish between the voice annotations created by other participants in an off-line collaboration session.

[0027] Referring now to FIG. 1, a diagram of an exemplary telecommunications or conference system 100 used in some embodiments is shown. As shown, the system 100 may include a local area network (LAN) 102. The LAN 102 may be implemented using a TCP/IP network and may implement voice or multimedia over IP using, for example, the Session Initiation Protocol (SIP). Operably coupled to the local area network 102 is a server 104. The server 104 may include one or more controllers 101, which may be embodied as one or more microprocessors, and memory 103 for storing application programs and data. The controller 101 may implement an instant messaging system 106. The instant messaging system may be embodied as Microsoft Windows Messenger™ software or other instant messaging system. Thus, in some embodiments, the instant messaging system 106 implements the Microsoft.Net™ environment 108 and Real Time Communications protocol (RTC) 110.

[0028] In addition, in some embodiments, a collaboration system 114 may be provided, which may be part of an interactive suite of applications 112, run by controller 101, as will be described in greater detail below. In addition, an action prompt module 115 may be provided, which detects occurrences of action cues and causes action prompt windows to be launched at the client devices 122. The collaboration system 114 may allow users of the system to become participants in a conference or collaboration session.

[0029] Also coupled to the LAN 102 is a gateway 116 which may be implemented as a gateway to a private branch exchange (PBX), the public switched telephone network (PSTN) 118, or any of a variety of other networks, such as a wireless or cellular network. In addition, one or more LAN telephones 120 a-120 n and one or more computers 122 a-122 n may be operably coupled to the LAN 102. In some embodiments, one or more other types of networks may be used for communication between the server 104, computers 122 a-122 n, telephones 120 a-120 n, the gateway 116, etc. For example, in some embodiments, a communications network might be or include the Internet, the World Wide Web, or some other public or private computer, cable, telephone, client/server, peer-to-peer, or communications network or intranet. In some embodiments, a communications network also can include other public and/or private wide area networks, local area networks, wireless networks, data communication networks or connections, intranets, routers, satellite links, microwave links, cellular or telephone networks, radio links, fiber optic transmission lines, ISDN lines, T1 lines, DSL connections, etc. Moreover, as used herein, communications include those enabled by wired or wireless technology. Also, in some embodiments, one or more client devices (e.g., the computers 122 a-122 n) may be connected directly to the server 104.

[0030] The computers 122 a-122 n may be personal computers implementing the Windows XP™ operating system and thus, Windows Messenger™ instant messenger system. In addition, the computers 122 a-122 n may include telephony and other multimedia messaging capability using, for example, peripheral cameras, Web cams, microphones and speakers (not shown) or peripheral telephony handsets 124, such as the Optipoint™ handset, available from Siemens Corporation. In other embodiments, one or more of the computers may be implemented as wireless telephones, digital telephones, or personal digital assistants (PDAs). Thus, the figures are exemplary only. As shown with reference to computer 122 a, the computers may include one or more controllers 129, such as Pentium™ type microprocessors, and storage 131 for applications and other programs.

[0031] Finally, the computers 122 a-122 n may implement interaction services 128 a-128 n according to some embodiments. The interaction services 128 a-128 n may allow for interworking of phone, buddy list, instant messaging, presence, collaboration, calendar and other applications. In addition, the interaction services 128 may allow access to the collaboration system or module 114 and the action prompt module 115 of the server 104.

[0032] Turning now to FIG. 2, a functional model diagram illustrating the collaboration system 114 is shown. More particularly, FIG. 2 is a logical diagram illustrating a particular embodiment of a collaboration server 104. The server 104 includes a plurality of application modules 200 and a communication broker (CB) module 201. One or more of the application modules and communication broker module 201 may include an inference engine, i.e., a rules or heuristics based artificial intelligence engine for implementing functions in some embodiments. In addition, the server 104 provides interfaces, such as APIs (application programming interfaces) to SIP phones 220 and gateways/interworking units 222.

[0033] According to the embodiment illustrated, the broker module 201 includes a basic services module 214, an advanced services module 216, an automation module 212, and a toolkit module 218. The automation module 212 implements an automation framework for ISVs (independent software vendors) 212 that allow products, software, etc. provided by such ISVs to be used with or created the server 104.

[0034] The basic services module 214 functions to implement, for example, phone support, PBX interfaces, call features and management, as well as Windows Messaging™ software and RTC add-ins, when necessary. The phone support features allow maintenance of and access to buddy lists and provide presence status.

[0035] The advanced services module 216 implements function such as presence, multipoint control unit or multi-channel conferencing unit (MCU), recording, and the like. MCU functions are used for voice conferencing and support ad hoc and dynamic conference creation from a buddy list following the SIP conferencing model for ad hoc conferences and collaboration sessions. In certain embodiments, support for G.711 and G.723.1 codecs is provided. Further, in some embodiments, the MCU can distribute media processing over multiple servers using the MEGACO protocol. In some embodiments, an MCU may provide the ability for participants to set up ad hoc voice, data, or multimedia conferencing or collaboration sessions. During such sessions, different client devices (e.g., the computers 122 a-122 n) may establish channels to the MCU and the server 104, the channels carrying voice, audio, video and/or other data from and to participants via their associated client devices. In some cases, more than one participant may be participating in the conference via the same client device. For example, multiple participants may be using a telephone (e.g., the telephone 126 a) located in a conference room to participate in the conference. Also, in some cases, a participant may be using one client device (e.g., a computer) or multiple devices (e.g., a computer and a telephone) to participate in the conference. The Real-Time Transport Protocol (RTP) and the Real Time Control Protocol (RTCP) may be used to facilitate or manage communications or data exchanges between the client devices for the participants in the conference.

[0036] In some embodiments an MCU may include a mixer application or logical function that provides the audio, video, voice, etc. data to the different participants. The MCU may handle or manage establishing the calls in and out to the different participants and establish different channels with the client devices used by the participants. The server 104 may include, have access to, or be in communication with additional applications or functions that establish a list of participants in the conference as well as identify the participants speaking at a given moment during the conference.

[0037] Presence features provide device context for both SIP registered devices and user-defined non-SIP devices. Various user contexts, such as In Meeting, On Vacation, In the Office, etc., can be provided for. In addition, voice, e-mail, and instant messaging availability may be provided across the user's devices. The presence feature enables real time call control using presence information, e.g., to choose a destination based on the presence of a user's device(s) In addition, various components have a central repository for presence information and for changing and querying presence information. In addition, the presence module provides a user interface for presenting the user with presence information.

[0038] In addition, the broker module 201 may include the ComResponse™ platform, available from Siemens Information and Communication Networks, Inc. The ComResponse™ platform features include speech recognition, speech-to-text, and text-to-speech, and allows for creation of scripts for applications. The speech recognition and speech-to-text features may be used by the collaboration summarization unit 114 and the action prompt module 115.

[0039] In addition, real time call control is provided by a SIP API 220 associated with the basic services module 214. That is, calls can be intercepted in progress and real time actions performed on them, including directing those calls to alternate destinations based on rules and or other stimuli. The SIP API 220 also provides call progress monitoring capabilities and for reporting status of such calls to interested applications. The SIP API 220 also provides for call control from the user interface.

[0040] The toolkit module 218 may provide tools, APIs, scripting language, interfaces, software modules, libraries, software drivers, objects, etc. that may be used by software developers or programmers to build or integrate additional or complementary applications.

[0041] According to the embodiment illustrated, the application modules include a collaboration module 202, an interaction center module 204, a mobility module 206, an interworking services module 208, a collaboration summarization module 114, and an action prompt module 115.

[0042] The collaboration module 202 allows for creation, modification or deletion of a collaboration session for a group of participants or other users. The collaboration module 202 may further allow for invoking a voice conference from any client device. In addition, the collaboration module 202 can launch a multi-media conferencing package, such as the WebEx™ package. It is noted that the multi-media conferencing can be handled by other products, applications, devices, etc.

[0043] The interaction center 204 provides a telephony interface for both subscribers and guests. Subscriber access functions include calendar access and voicemail and e-mail access. The calendar access allows the subscriber to accept, decline, or modify appointments, as well as block out particular times. The voicemail and e-mail access allows the subscriber to access and sort messages.

[0044] Similarly, the guest access feature allows the guest access to voicemail for leaving messages and calendar functions for scheduling, canceling, and modifying appointments with subscribers. Further, the guest access feature allows a guest user to access specific data meant for them, e.g., receiving e-mail and fax back, etc.

[0045] The mobility module 206 provides for message forwarding and “one number” access across media, and message “morphing” across media for the subscriber. Further, various applications can send notification messages to a variety of destinations, such as e-mails, instant messages, pagers, and the like. In addition, a user can set rules that the mobility module 206 uses to define media handling, such as e-mail, voice and instant messaging handling. Such rules specify data and associated actions. For example, a rule could be defined to say “If I'm traveling, and I get a voicemail or e-mail marked Urgent, then page me.”

[0046] Further, the collaboration summarization module 114 is used to identify or highlight portions of a multimedia conference and configure the portions sequentially for later playback. The portions may be stored or identified based on recording cues either preset or settable by one or more of the participants in the conference, such as a moderator. The recording cues may be based on vocalized keywords identified by the voice recognition unit of the ComResponse™ module, or may be invoked by special controls or video or whiteboarding or other identifiers.

[0047] The action prompt module 115 similarly allows a user to set action cues, which cause the launch of an action prompt window at the user's associated client device 122. In response, the client devices 122 can then perform various functions in accordance with the action cues.

[0048] Now referring to FIG. 3, a diagram of a graphical user interface 300 used in some embodiments is shown. In particular, shown are a variety of windows for invoking various functions. Such a graphical user interface 300 may be implemented on one or more of the client devices 302, 304, 306, 308. Thus, the graphical user interface 300 may interact with the interactive services unit 128 to control collaboration sessions.

[0049] Shown are a collaboration interface 302, a phone interface 304, and a buddy list 306. It is noted that other functional interfaces may be provided. According to particular embodiments, certain of the interfaces may be based on, be similar to, or interwork with, those provided by Microsoft Windows Messenger™ or Outlook™ software.

[0050] The buddy list 306 is used to set up instant messaging calls and/or multimedia conferences. The phone interface 304 is used to make calls, e.g., by typing in a phone number, and also allows invocation of supplementary service functions such as transfer, forward, etc. The collaboration interface 302 allows for viewing the parties to a conference or collaboration 302 a and the type of media involved. It is noted that, while illustrated in the context of personal computers 122, similar interfaces may be provided the telephones or cellular telephones or PDAs. During a conference or collaboration, participants in the conference or collaboration may access or view shared documents or presentations, communicate with each other via audio, voice, data and/or video channels, etc.

[0051] Now referring to FIG. 4, a representative window 320 is illustrated that may allow a user to access documents associated with a collaboration effort or group and to access annotations associated with documents that are themselves associated with the collaboration effort or group. For example, the window 320 includes two primary portions 322 and 324 that provide information regarding the five participants in the collaboration and documents associated with the collaboration. The window 320 may be displayed on a client device used by a person associated with a collaboration. The window portion 322 is similar to the window 302 a described previously above. In addition to listing participants by their email address that are associated with the collaboration, the window 322 also includes icons or other identifiers 326, 328, 330, 332, 334, each being associated with a different participant. Each of the icons 326, 328, 330, 332, 334 may be different (e.g., visually distinct or having a different color, shape, fill pattern, flashing rate, size, etc.) to indicate its relationship with a particular participant, as will be discussed in more detail below. Thus, the icons act as identifiers for specific people with regard to annotations made by the people to one or more documents.

[0052] The window portion 324 includes information regarding documents that are being used by the five participants and the number of annotations already made to each of the documents. For example, the window portion 324 indicates that the document entitled “Contact List” has two associated annotations and that the document entitled “Preliminary Budget” has eleven associated annotations. In some embodiments, a user of the window 320 may be able to access or open a document by selecting it or clicking on it in the window 320. Similarly, in some embodiments, the user of the window 320 may be able to access or open one or more annotations associated with a document by selecting or clicking on an annotation number associated with the document. Alternatively, clicking on a document name or annotation number, or clicking on a link or button 336 entitled “Annotation Tool” might result in display of an annotation tool window 340, as illustrated in FIG. 5.

[0053] Now referring to FIG. 5, the annotation tool window 340 may allow a user to access or create annotations associated with a document. The window 340 may be displayed on a client device used by a person associated with a collaborative effort. The window 340 may include a text block 342 in which the user may type the name of the document (e.g., “Preliminary Budget”) of interest. Alternatively, clicking on or selecting the document on the window 320 may cause the document to be displayed automatically in the text block 342. Once the document name is known, the window 340 may display the number of annotations associated with the document in text block 344 and the number of different annotators for the document in text block 346.

[0054] In some embodiments, the window 340 also may include one or more buttons 348, 350, 352, 354 that allow a user to initiate different functions or features. For example, selecting or clicking on the button 348 may allow the user to view information regarding annotations made to the document “Preliminary Budget”. Selecting or clicking on the button 350 may allow the user to record or add an annotation that is associated with the document “Preliminary Budget”.

[0055] Selecting or clicking on the button 352 may allow a user to listen to previously recorded annotations associated with the document. For example, selecting the button 352 may cause all of the previously recorded annotations for the document to be played in chronological order, in chronological order by individual, or in accordance with some other rule or procedure.

[0056] Selecting or clicking on the button 354 may cause the text blocks 342, 344, 346 to be emptied and a prompt to be displayed the user to enter a new document name in the text box 342.

[0057] When a user clicks on or selects the button 350, the window 360 may be displayed that will allow the user to record an annotation for the document “Preliminary Budget”, as illustrated in FIG. 6. The window 360 may be displayed on a client device (e.g., the computer 122 a) used by a person associated with a collaboration. The window 360 may include a text block 362 in which the user can indicate who is making the annotation. The text block 362 may include a pull down menu that the user can access via box 364. When used, the pull down menu may have a list of all people having the ability to add such an annotation, which may include the people indicated in the window 322. By selecting or clicking button 366, the user can begin recording the annotation. The window 360 may be associated with a particular microphone or other input device on a client device (e.g., computer, telephone) displaying the window 360 that the user can use to provide the audible annotation. The user can stop the recording by selecting or clicking button 368. Selecting or clicking button 370 will cause the just recorded annotation to be replayed while selecting or clicking button 372 will cause the just recorded annotation to be canceled or deleted.

[0058] In some embodiments, an annotation for a document may be stored as a .WAV file and is associated with the document or stored as part of the document file. In some embodiments, the annotations for a document may be stored as separate files from the document. Each annotation may be stored or kept as a separate file, thereby allowing the annotations to be accessed and listened to separately and independently. An annotation file also may include information (e.g., icon, icon color, speaker name or other identifier, creation date/time, document identifier, client device identifier, etc.) that associates the annotation with a specific speaker, document, client device, etc. Playing of an annotation may involve retrieval of the appropriate annotation file and delivery of the annotation file to a client device, which can then play the annotation using software operating on the client device. Annotation files may be stored in the same locations as their associated documents, which may be managed or provided by the server 104, an application or module forming part of the server 104, or some other application, device, etc.

[0059] Now referring to FIG. 7, a window 380 is illustrated that may allow a user to access annotations associated with a document 381 (e.g., the document entitled “Preliminary Budget”). For example, the document 381 and the window 380 may be displayed by a client device associated with the user if the user clicks on the document entitled “Preliminary Budget” in the window 320 or on the button 348 in the window 340.

[0060] In some embodiments, the document 381 may be displayed in or by a conventional word processor, spreadsheet, document manager, or other software application. The displayed document 381 may include icons that indicate annotations to the document 381, such as the icons 382, 384, 386, 388, 390, 392, 394. The different colors, shapes, fill patterns, flashing rates, sizes, etc. of the icons displayed in or with the document 381 may indicate the providers of the annotations associated with the icons. For example, as illustrated in the window 320 of FIG. 4, the annotation icons 382, 388, 392, 394 are associated with the user identified by email address “fred@largecompany.com”. Thus, this user has recorded four annotations that are associated with the document “Preliminary Budget” in the window 380. The relative positions of the icons 382, 388, 392, 394 in the window 380 or the document 381 may indicate the general or specific subject matter of the annotations. Similarly, the annotation icon 384 is associated with the user identified by email address “dave@conglomerate.com” and the annotation icons 386, 390 are associated with the user identified by email address “susan@independentsmall.com”. Clicking or selecting any of the icons displayed in the window 380 may cause the corresponding voice annotation to be played, delivered to a specific client device, etc. The annotation icons in the window 380 also may have associated with them information regarding the dates/times of the creation of their associated annotations. As a result, moving a curser over an icon in the drop down window 380 may allow display in the window 380 of the creation date/time of the annotation associated with the icon.

[0061] Now referring to FIG. 8, a window 400 is illustrated that may allow a user to access annotations associated with a document 401 (e.g., the document entitled “Preliminary Budget”). For example, the document 401 and the window 400 may be displayed by a client device associated with the user if the user clicks on the document entitled “Preliminary Budget” in the window 320 or on the button 348 in the window 340.

[0062] In some embodiments, the document 401 may be displayed in or by a conventional word processor, spreadsheet, document manager, or other software application. The displayed document 401 may include icons that indicate annotations to the document exist, such as the icons 402 and 404. The different colors, shapes, fill patterns, flashing rates, sizes, etc. of the icons 402 and 404 displayed in or with the document 381 may indicate the providers of the annotations associated with the icons. For example, as illustrated in the window 400 of FIG. 8, the annotation icon 402 is associated with the user identified by email address “fred@largecompany.com”. Similarly, the annotation icon 404 is associated with the user identified by email address “dave@conglomerate.com”. Thus, the icons 402 and 404 indicate that specific users have provided annotations to the document 401. Arrows 406, 408 indicate that the user may view specific annotations for the respective annotators identified by “fred@largecompany.com” and “dave@conglomerate.com”. For example, now referring to FIG. 9, a user of the window 400 selecting or clicking on the arrow 406 may cause drop down menu 410 to appear and selecting or clicking on arrow 408 may cause drop menu 412 to appear. The drop down menu 410 indicates that the annotator identified by “fred@largecompany.com” has made or recorded four annotations associated with the document 401 and the drop down menu 412 indicates that the annotator identified by “dave@conglomerate.com” has made one annotation associated with the document 401. The user may listen to any of the four annotations indicated in the drop down menu 410 my selecting or clicking on the iteration numbers “1”, “2”, “3” or “4” in the drop down menu 410. Similarly, the user may listen to the annotation indicated in the drop down menu 412 by selecting or clicking on the iteration number “1” in the drop down menu 412. Clicking on or selecting any of the iteration numbers in the drop down menus 410 or 412 may cause the annotation associated with the iteration number to be played, delivered to a specific client device, etc.

[0063] Each time an annotation is created and associated with the document 401, the appropriate iteration number may added to the appropriate drop down menu or a drop down menu may be added as needed. Iteration numbers for annotations also may have associated with them information regarding the dates/times of the creation of the annotations. As a result, moving a curser over an iteration number may allow display in the window 400 of the creation date/time of the annotation associated with the iteration number.

[0064] Now referring to FIG. 10, a window 420 is illustrated that may allow a user to access annotations associated with a document 421 (e.g., the document entitled “Preliminary Budget”). For example, the document 421 and the window 420 may be displayed by a client device associated with the user if the user clicks on the document entitled “Preliminary Budget” in the window 320 or on the button 348 in the window 340.

[0065] In some embodiments, the document 421 may be displayed in or by a conventional word processor, spreadsheet, document manager, or other software application. The displayed document 421 may include icons that indicate annotations to the document exist, such as the icons 424 and 426. The icon 424 is not associated with any particular annotator and may indicate only that annotations to the document 421 exist. Selecting or clicking on the icon 426 may cause a drop down menu 428 to be displayed, as indicated in FIG. 11.

[0066] The drop down menu 428 may include a number of icons, each associated with a particular speaker. The relative positions, colors, fill patterns, etc. of the icons in the drop down menu 428 may indicate the order in which annotations where added and by which annotator. Clicking on or selecting any of the icons in the drop down menu 428 may cause the annotation associated with the icon to be played, delivered to a specific client device, etc. The icons in the drop down menu 428 also may have associated with them information regarding the dates/times of the creation of the annotations. As a result, moving a curser over an icon in the drop down menu 429 may allow display in the window 420 of the creation date/time of the annotation associated with the icon.

[0067] Process Description

[0068] Reference is now made to FIG. 12, where a flow chart 450 is shown which represents the operation of a first embodiment a method. The particular arrangement of elements in the flow chart 450 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable. In some embodiments, some or all of the elements of the method 450 may be performed or completed by the server 104 or another device or application, as will be discussed in more detail below.

[0069] Processing begins at 452 during which the server 104 associates an audible annotation with a document. The document may be accessible to or otherwise associated with multiple people as part of a collaboration effort, conference, etc.

[0070] In some embodiments, the server 104 may receive the annotation from a client device (e.g., the computer 122 a) as an annotation file recorded by the client device via use of an annotation tool (e.g., the annotation tool windows 340 and 360). In other embodiments, the server 104 may record the annotation directly or receive data indicative of the annotation from another source. The server 104 may store the annotation with, as part of, separate from, or in the same location as the document.

[0071] During 454, the server 104 associates a person with the audible annotation. In some embodiments, the person may be the person who recorded the annotation, the person associated with the client device from which the server 104 received the annotation, a person chosen from a list of people associated with the document or who have the right or ability to create an annotation for the document, or a person chosen via some other means. For example, in some embodiments the server 104 may have or have access to voice or speaker recognition applications or other technology through which the server 104 can identify the speaker of a voice annotation. In some embodiments, 454 may include requesting, establishing, or otherwise determining the identify of the person.

[0072] During 456, the server 104 establishes an identifier for the person. The identifier may be a specific icon, icon color, name, code, etc. In some embodiments, a document may be associated with multiple people (e.g., all of the people who have access to a particular document). Each of the people may be assigned a different or distinct identifier during an implementation of 456. In such embodiments, 456 may occur prior to 452 and/or 454.

[0073] During 458, the server 104 provides data indicative of the annotation. For example, the server 104 may provide the annotation upon receiving a request for the annotation or the document. As another example, the server 104 may provide or display an icon or other identifier in conjunction with the document to indicate that the annotation exists or is otherwise available. The icon or other identifier may be displayed in, on, or as part of the document itself, as part of a window or toolbar used with the document, or in some other fashion.

[0074] During 460, the server 104 provides data indicative of the identifier established during 456. For example, the server 104 may provide the identifier upon receiving a request for the annotation or the document. As another example, the server 104 may provide or display an icon or other identifier in conjunction with the document to indicate that the annotation exists or is otherwise available and/or to indicate that the annotation is associated with or related to the specific person. The icon or other identifier may be displayed in or as part of the document itself, as part of a window or toolbar used with the document, or in some other fashion. Data provided by the server 104 may be indicative of the icon associated with the specific person and/or the annotation.

[0075] Reference is now made to FIG. 13, where a flow chart 470 is shown which represents the operation of a second embodiment of a method. The particular arrangement of elements in the flow chart 470 is not meant to imply a fixed order to the elements; embodiments can be practiced in any order that is practicable. In some embodiments, some or all of the elements of the method 450 may be performed or completed by the server 104 or another device or application, as will be discussed in more detail below.

[0076] Processing begins at 472 during which the server 104 associates a plurality of people with a document. For example, the people may be participants in a conference or on-line or off-line collaborative effort, each having permission to access the document, make or provide annotations for the document, etc. The list of people or data indicative of the people may be received from an application, client device, or other device. As another example, the list of people may be established by a person setting up a conference, collaborative session or effort, etc.

[0077] During 474, the server 104 associates a different identifier to each of the plurality of people associated with the document. For example, the server 104 may associate different icons, icon shapes, icon colors, names, codes, etc. to each of the people. In some embodiments, 474 may be or include the server 104 receiving data indicative of the identifiers to be associated with the people from another application, device, etc.

[0078] During 476, the server 104 associates an audible annotation made by one of the plurality of people with the document. For example, in some embodiments, the server 104 may receive the annotation from a client device (e.g., the computer 122 a) as an annotation file recorded by the client device via use of an annotation tool (e.g., the annotation tool windows 340 and 360). In other embodiments, the server 104 may record the annotation directly or receive data indicative of the annotation from another source. The server 104 may store the annotation with, as part of, separate from, or in the same location as the document.

[0079] During 478, the server 104 associates the identifier of the person who made the annotation with the document. For example, the server 104 may store the identifier with, as part of, separate from, or in the same location as the document and/or the annotation. The server 104 also may display the identifier in or with the document, as part of a window or toolbar used with the document, or in some other fashion.

[0080] In some embodiments, the server 104 may receive a request for a document and/or annotation, provide a document and one or more annotations, icons, identifiers, etc. associated with the document, etc.

[0081] Server

[0082] Now referring to FIG. 14, a representative block diagram of a server or controller 104 is illustrated. The server 104 can comprise a single device or computer, a networked set or group of devices or computers, a workstation, mainframe or host computer, etc., and, in some embodiments, may include some or all of the components described above in regards to FIG. 1. In some embodiments, the server 104 may be adapted to implement one or more elements of the methods disclosed herein.

[0083] The server 104 may include a processor, microchip, central processing unit, or computer 550 that is in communication with or otherwise uses or includes one or more communication ports 552 for communicating with user devices and/or other devices. The processor 550 may be or include some or all of the controller 101 previously discussed above. In some embodiments, the processor 550 may be operative to implement one or more of the elements of the methods disclosed herein.

[0084] Communication ports may include such things as local area network adapters, wireless communication devices, Bluetooth technology, etc. The server 104 also may include an internal clock element 554 to maintain an accurate time and date for the server 104, create time stamps for communications received or sent by the server 104, etc.

[0085] If desired, the server 104 may include one or more output devices 556 such as a printer, infrared or other transmitter, antenna, audio speaker, display screen or monitor (e.g., the monitor 400), text to speech converter, etc., as well as one or more input devices 558 such as a bar code reader or other optical scanner, infrared or other receiver, antenna, magnetic stripe reader, image scanner, roller ball, touch pad, joystick, touch screen, microphone, computer keyboard, computer mouse, etc.

[0086] In addition to the above, the server 104 may include a memory or data storage device 560 (which may be or include the memory 103 previously discussed above) to store information, software, databases, documents, communications, device drivers, etc. The memory or data storage device 560 preferably comprises an appropriate combination of magnetic, optical and/or semiconductor memory, and may include, for example, Read-Only Memory (ROM), Random Access Memory (RAM), a tape drive, flash memory, a floppy disk drive, a Zip™ disk drive, a compact disc and/or a hard disk. The server 104 also may include separate ROM 562 and RAM 564.

[0087] The processor 550 and the data storage device 560 in the server 104 each may be, for example: (i) located entirely within a single computer or other computing device; or (ii) connected to each other by a remote communication medium, such as a serial port cable, telephone line or radio frequency transceiver. In one embodiment, the server 104 may comprise one or more computers that are connected to a remote server computer for maintaining databases.

[0088] A conventional personal computer or workstation with sufficient memory and processing capability may be used as the server 104. In one embodiment, the server 104 operates as or includes a Web server for an Internet environment. The server 104 may be capable of high volume transaction processing, performing a significant number of mathematical calculations in processing communications and database searches. A Pentium™ microprocessor such as the Pentium III™ or IV™ microprocessor, manufactured by Intel Corporation may be used for the processor 550. Equivalent processors are available from Motorola, Inc., AMD, or Sun Microsystems, Inc. The processor 550 also may comprise one or more microprocessors, computers, computer systems, etc.

[0089] Software may be resident and operating or operational on the server 104. The software may be stored on the data storage device 560 and may include a control program 566 for operating the server, databases, etc. The control program 566 may control the processor 550. The processor 550 preferably performs instructions of the control program 566, and thereby operates in accordance with the present invention, and particularly in accordance with the methods described in detail herein. The control program 566 may be stored in a compressed, uncompiled and/or encrypted format. The control program 566 furthermore includes program elements that may be necessary, such as an operating system, a database management system and device drivers for allowing the processor 550 to interface with peripheral devices, databases, etc. Appropriate program elements are known to those skilled in the art, and need not be described in detail herein.

[0090] The server 104 also may include or store information regarding users, user or client devices, conferences, collaborations, annotations, documents, communications, etc. For example, information regarding one or more collaborations may be stored in a conference information database 568 for use by the server 104 or another device or entity. Information regarding one or more users (e.g., participants in a collaboration effort) may be stored in a user information database 570 for use by the server 104 or another device or entity and information regarding one or more annotations may be stored in an annotation information database 572 for use by the server 104 or another device or entity. In some embodiments, some or all of one or more of the databases may be stored or mirrored remotely from the server 104.

[0091] In some embodiments, the instructions of the control program may be read into a main memory from another computer-readable medium, such as from the ROM 562 to the RAM 564. Execution of sequences of the instructions in the control program causes the processor 550 to perform the process elements described herein. In alternative embodiments, hard-wired circuitry may be used in place of, or in combination with, software instructions for implementation of some or all of the methods described herein. Thus, embodiments are not limited to any specific combination of hardware and software.

[0092] The processor 550, communication port 552, clock 554, output device 556, input device 558, data storage device 560, ROM 562, and RAM 564 may communicate or be connected directly or indirectly in a variety of ways. For example, the processor 550, communication port 552, clock 554, output device 556, input device 558, data storage device 560, ROM 562, and RAM 564 may be connected via a bus 574.

[0093] While specific implementations and hardware configurations for the server 104 have been illustrated, it should be noted that other implementations and hardware configurations are possible and that no specific implementation or hardware configuration is needed. Thus, not all of the components illustrated in FIG. 14 may be needed for the server 104 implementing the methods disclosed herein.

[0094] The methods described herein may be embodied as a computer program developed using an object oriented language that allows the modeling of complex systems with modular objects to create abstractions that are representative of real world, physical objects and their interrelationships. However, it would be understood by one of ordinary skill in the art that the invention as described herein could be implemented in many different ways using a wide range of programming techniques as well as general-purpose hardware systems or dedicated controllers. In addition, many, if not all, of the elements for the methods described above are optional or can be combined or performed in one or more alternative orders or sequences without departing from the scope of the present invention and the claims should not be construed as being limited to any particular order or sequence, unless specifically indicated.

[0095] Each of the methods described above can be performed on a single computer, computer system, microprocessor, etc. In addition, two or more of the elements in each of the methods described above could be performed on two or more different computers, computer systems, microprocessors, etc., some or all of which may be locally or remotely configured. The methods can be implemented in any sort or implementation of computer software, program, sets of instructions, code, ASIC, or specially designed chips, logic gates, or other hardware structured to directly effect or implement such software, programs, sets of instructions or code. The computer software, program, sets of instructions or code can be storable, writeable, or savable on any computer usable or readable media or other program storage device or media such as a floppy or other magnetic or optical disk, magnetic or optical tape, CD-ROM, DVD, punch cards, paper tape, hard disk drive, Zip™ disk, flash or optical memory card, microprocessor, solid state memory device, RAM, EPROM, or ROM.

[0096] Although the present invention has been described with respect to various embodiments thereof, those skilled in the art will note that various substitutions may be made to those embodiments described herein without departing from the spirit and scope of the present invention. The invention described in the above detailed description is not intended to be limited to the specific form set forth herein, but is intended to cover such alternatives, modifications and equivalents as can reasonably be included within the spirit and scope of the appended claims.

[0097] The words “comprise,” “comprises,” “comprising,” “include,” “including,” and “includes” when used in this specification and in the following claims are intended to specify the presence of stated features, elements, integers, components, or steps, but they do not preclude the presence or addition of one or more other features, elements, integers, components, steps, or groups thereof. 

What is claimed is:
 1. A method for associating an annotation with a document, comprising: associating an audible annotation with a document; associating a person with said audible annotation; establishing an identifier associated with said person; providing data indicative of said annotation; and providing data indicative of said identifier.
 2. The method of claim 1, wherein associating an audible annotation with a document includes obtaining an audible annotation made by said person.
 3. The method of claim 1, wherein associating a person with said audible annotation includes determining said person.
 4. The method of claim 1, wherein establishing an identifier associated with said person includes establishing a distinct icon for each person associated with said document.
 5. The method of claim 1, wherein providing data indicative of said annotation includes providing said annotation in conjunction with said document.
 6. The method of claim 1, wherein providing data indicative of said annotation includes providing an icon indicative of an existence of said annotation.
 7. The method of claim 6, wherein providing an icon indicative of existence of said annotation includes providing an icon indicative of an existence of said annotation in conjunction with said document.
 8. The method of claim 1, wherein providing data indicative of said identifier includes providing said identifier in conjunction with said document.
 9. The method of claim 1, wherein providing data indicative of said identifier includes providing an icon indicative of an existence of said annotation and of a relationship between said annotation and said person.
 10. The method of claim 1, further comprising: obtaining an audible annotation.
 11. The method of claim 1, further comprising: displaying an icon indicative of said annotation and said person.
 12. The method of claim 12, further comprising: displaying said icon in conjunction with display of said document.
 13. The method of claim 1, wherein multiple people are associated with said document and each of said multiple people have a distinct identifier used to associate different of said multiple people with different annotations associated with said document by said different of said multiple people.
 14. The method of claim 1, further comprising: providing said annotation.
 15. The method of claim 1, further comprising: receiving a request for said annotation.
 16. A method for associating an annotation with a document, comprising: associating a plurality of people with a document; associating a different identifier to each of said plurality of people; associating an audible annotation made by a first of said plurality of people to said document; and associating said first of said plurality of people's respective identifier to said document.
 17. The method of claim 16, further comprising: providing said first of said plurality of people's respective identifier in conjunction with said document.
 18. The method of claim 16, further comprising: displaying said first of said plurality of people's respective identifier in conjunction with display of said document.
 19. The method of claim 16, further comprising: receiving a request for said annotation.
 20. The method of claim 19, further comprising: providing said annotation.
 21. A system for associating an annotation with a document, comprising: a network; at least one client device operably coupled to said network; and a server operably coupled to said network, said server adapted to associate an audible annotation with a document; associate a person with said audible annotation; establish an identifier associated with said person; provide data indicative of said annotation to said at least one client device; and provide data indicative of said identifier to said at least one client device.
 22. A system for associating an annotation with a document, comprising: a memory; a communication port; and a processor connected to said memory and said communication port, said processor being operative to: associate an audible annotation with a document; associate a person with said audible annotation; establish an identifier associated with said person; provide data indicative of said annotation; and provide data indicative of said identifier.
 23. A computer program product in a computer readable medium for associating an annotation with a document, comprising: first instructions for associating an audible annotation with a document; second instructions for associating a person with said audible annotation; third instructions for associating an identifier with said person; fourth instructions for sending data indicative of said annotation; and fifth instructions for sending data indicative of said identifier. 